MultiValueMap ব্যবহার করে Multiple Values Handling

Java Technologies - অ্যাপাচি কমন্স কালেকশনস (Apache Common Collection) MultiMap এবং MultiValueMap এর উন্নত ব্যবহার |
136
136

Apache Commons Collections লাইব্রেরি একটি শক্তিশালী MultiValueMap ইন্টারফেস প্রদান করে যা একটি কী-এ একাধিক মান (values) সংরক্ষণ করতে সাহায্য করে। এটি একটি বিশেষ ধরনের Map যেখানে প্রতিটি কী (key) একাধিক মান (value) এর সাথে সম্পর্কিত থাকে। সাধারণত, Map শুধুমাত্র একটি কী-এর সাথে একক মান সংরক্ষণ করে, কিন্তু MultiValueMap এর মাধ্যমে আপনি একটি কী-এ একাধিক মান সংরক্ষণ করতে পারেন।

এই নিবন্ধে, আমরা MultiValueMap এর ব্যবহার এবং multiple values handling কিভাবে করা যায় তা বিস্তারিতভাবে আলোচনা করব।


১. MultiValueMap কী?

MultiValueMap একটি Map এর একটি ইন্টারফেস যা একাধিক মান (value) একটি কী (key)-এর সাথে সংরক্ষণ করতে সক্ষম। উদাহরণস্বরূপ, আপনি যদি একটি কী fruits এর জন্য একাধিক মান রাখতে চান যেমন "apple", "banana", এবং "cherry", তবে MultiValueMap এটি সহজে পরিচালনা করতে সহায়তা করে। এটি সাধারণত org.apache.commons.collections4.MultiMap ইন্টারফেস দ্বারা বাস্তবায়িত হয় এবং বিভিন্ন কোলেকশন যেমন MultiValueMap, ListValuedMap ইত্যাদি প্রদান করে।

MultiValueMap কোলেকশনে একটি কী-এ একাধিক মান সংরক্ষণ করা যেতে পারে, যেখানে প্রতিটি কী একটি List, Set বা অন্য কোনো কোলেকশন টাইপের সাথে যুক্ত থাকে।


২. MultiValueMap এর ব্যবহারের সুবিধা

  • একাধিক মান সংরক্ষণ: একটি কী-এর সাথে একাধিক মান সম্পর্কিত করার সুবিধা।
  • ডুপ্লিকেট মান অনুমোদন: একই কী-এ একাধিক মানের উপস্থিতি অনুমোদন করে, যেমন বিভিন্ন সংস্করণ বা ভ্যালু।
  • সহজ ডেটা ম্যানিপুলেশন: একাধিক মানে কাজ করা এবং তাদের সংযুক্ত করা সহজ হয়।

৩. MultiValueMap ব্যবহার

MultiValueMap এর বিভিন্ন ধরনের ব্যবহার রয়েছে, এবং এটি সাধারণত ListValuedMap ক্লাস দ্বারা ইমপ্লিমেন্ট করা হয়। এই কোলেকশনটি একটি কী-এ একাধিক মান (values) সংরক্ষণ করতে সহায়তা করে। নিচে MultiValueMap ব্যবহারের উদাহরণ দেওয়া হলো।

৩.১ MultiValueMap ব্যবহার করে Multiple Values Handling

import org.apache.commons.collections4.MultiMap;
import org.apache.commons.collections4.map.MultiValueMap;
import org.apache.commons.collections4.ListValuedMap;

import java.util.Collection;

public class MultiValueMapExample {
    public static void main(String[] args) {
        // Create a MultiValueMap (ListValuedMap implementation)
        ListValuedMap<String, String> multiValueMap = new MultiValueMap<>();

        // Add multiple values for the same key
        multiValueMap.put("fruits", "apple");
        multiValueMap.put("fruits", "banana");
        multiValueMap.put("fruits", "cherry");
        
        multiValueMap.put("vegetables", "carrot");
        multiValueMap.put("vegetables", "broccoli");

        // Display the map
        System.out.println("Fruits: " + multiValueMap.get("fruits"));
        System.out.println("Vegetables: " + multiValueMap.get("vegetables"));

        // Add another fruit
        multiValueMap.put("fruits", "grape");
        System.out.println("Updated Fruits: " + multiValueMap.get("fruits"));
    }
}

এখানে:

  • ListValuedMap ইমপ্লিমেন্টেশন ব্যবহার করে একটি MultiValueMap তৈরি করা হয়েছে।
  • put() মেথডের মাধ্যমে একাধিক মান (values) একই কী-এ (এখানে "fruits") যোগ করা হয়েছে।
  • get() মেথড ব্যবহার করে একটি কী-এর সাথে সম্পর্কিত মান গুলির তালিকা পাওয়া যাচ্ছে।

আউটপুট:

Fruits: [apple, banana, cherry]
Vegetables: [carrot, broccoli]
Updated Fruits: [apple, banana, cherry, grape]

এখানে, "fruits" কী-এর সাথে চারটি মান রয়েছে এবং "vegetables" কী-এ দুটি মান রয়েছে।


৪. MultiValueMap-এর অন্যান্য কার্যকারিতা

MultiValueMap এ আরও কিছু কার্যকারিতা রয়েছে যা আপনাকে একাধিক মান পরিচালনা করতে সহায়তা করে:

৪.১ remove(): একাধিক মান মুছে ফেলা

এটি একটি কী-এর সাথে সম্পর্কিত সব মান বা নির্দিষ্ট মান মুছে ফেলতে সাহায্য করে।

multiValueMap.remove("fruits", "banana");  // Removes "banana" from "fruits"

৪.২ putAll(): একাধিক মান যোগ করা

এই মেথডটি একাধিক মান একসাথে একটি কী-এ যোগ করতে ব্যবহৃত হয়।

multiValueMap.putAll("fruits", List.of("orange", "pear"));

৪.৩ containsKey() এবং containsValue(): কী এবং মান চেক করা

boolean hasFruits = multiValueMap.containsKey("fruits");  // Checks if "fruits" exists
boolean hasApple = multiValueMap.containsValue("apple");  // Checks if "apple" exists

৪.৪ size(): কোলেকশনের আকার জানানো

int size = multiValueMap.size();  // Returns the total number of key-value pairs

৪.৫ clear(): কোলেকশন পরিষ্কার করা

multiValueMap.clear();  // Clears all the key-value pairs from the map

৫. MultiValueMap এর আরো কিছু ইমপ্লিমেন্টেশন

  • ArrayListValuedMap: এটি একটি List-ভিত্তিক কোলেকশন যা একটি কী-এর সাথে একাধিক মান সংরক্ষণ করতে সাহায্য করে।
  • HashSetValuedMap: এটি একটি Set-ভিত্তিক কোলেকশন যা একাধিক মান সংরক্ষণ করার জন্য ব্যবহৃত হয়, তবে এটি ডুপ্লিকেট মান অনুমোদন করে না।

উদাহরণ: ArrayListValuedMap

import org.apache.commons.collections4.map.ArrayListValuedMap;

public class ArrayListValuedMapExample {
    public static void main(String[] args) {
        ArrayListValuedMap<String, String> multiValueMap = new ArrayListValuedMap<>();
        
        multiValueMap.put("fruits", "apple");
        multiValueMap.put("fruits", "banana");
        multiValueMap.put("fruits", "cherry");
        
        System.out.println(multiValueMap.get("fruits"));  // Output: [apple, banana, cherry]
    }
}

সারাংশ

MultiValueMap হল একটি শক্তিশালী ডেটা স্ট্রাকচার যা Apache Commons Collections লাইব্রেরি থেকে আসছে এবং এটি একটি কী-এ একাধিক মান (values) সংরক্ষণ করতে সাহায্য করে। এটি সাধারণ Map কোলেকশনের সাথে তুলনামূলকভাবে আরও বেশি নমনীয়তা এবং কার্যকারিতা সরবরাহ করে, যেমন একটি কী-এ একাধিক মান সংরক্ষণ করা, ডুপ্লিকেট মান অনুমোদন করা, এবং বিভিন্ন ধরনের কোলেকশন ফিচার প্রয়োগ করা। MultiValueMap এর মাধ্যমে আপনি সহজেই ডেটার সাথে সম্পর্কিত একাধিক মানের কাজ করতে পারেন এবং এটি বিভিন্ন কোলেকশন ইমপ্লিমেন্টেশন যেমন ListValuedMap, ArrayListValuedMap, HashSetValuedMap ইত্যাদি প্রদান করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion